VLC media player
VLC media player is a free and open source media player and multimedia framework written by the VideoLAN project.
VLC is a portable multimedia player, encoder, and streamer supporting many audio and video codecs and file formats as well as DVDs, VCDs, and various streaming protocols. It is able to stream over networks and to transcode multimedia files and save them into various formats. VLC used to stand for VideoLAN Client, but since VLC is no longer simply a client, that initialism no longer applies.[1][2]
It is one of the most platform-independent media players available, with versions for Microsoft Windows, Mac OS X, GNU, Linux, BeOS, and BSD.[3]
The default distribution of VLC includes a large number of free decoding and encoding libraries; on the Windows platform, this greatly reduces the need for finding/calibrating proprietary plugins. Many of VLC's codecs are provided by the libavcodec library from the FFmpeg project, but it uses mainly its own muxer and demuxers. It also gained distinction as the first player to support playback of encrypted DVDs on Linux by using the libdvdcss DVD decryption library.
History
Originally the VideoLAN project started as an academic project in 1996. It was intended to consist of a client and server to stream videos across a campus network. VLC was the client for the VideoLAN project, with VLC standing for VideoLan Client. Originally developed by students at the École Centrale Paris, it is now developed by contributors worldwide and is coordinated by the VideoLAN non-profit organization.
Rewritten from scratch in 1998, it was released under the GPL on 1 February 2001. The functionality of the server program, VideoLan Server (VLS), has mostly been subsumed into VLC and has been deprecated.[4] The project name was changed to VLC since there is no longer a client/server infrastructure.
The cone icon used in VLC is a reference to the traffic cones collected by Ecole Centrale's Networking Students' Association.[5] The cone icon design was changed from a hand drawn low resolution icon[6] to a higher resolution CGI rendered version in 2006, illustrated by Richard Øiestad.[7] The cone icon wears a Santa hat over the Christmas period.
Version 1.0.0 of VLC media player was released on July 7, 2009, culminating 13 years of development.[8]
Design principles
VLC, like most multimedia frameworks, has a very modular design which makes it easier to include modules/plugins for new file formats, codecs or streaming methods. VLC core creates its own graph of modules to fit into different situations. In VLC, almost everything is a module, like interfaces, video and audio outputs, controls, scalers, codecs, and audio and video filter modules.
VLC 1.0.0 has more than 380 modules.[9]
Interfaces
VLC with the wxWidgets interface, running on
KDE
In VLC, interfaces are modules, which means that VLC's core can launch one, many, or no interfaces.
The default GUI is based on Qt 4 for Windows and Linux, Cocoa for Mac OS X, and Be API on BeOS; but all give a similar standard interface. The old default GUI was based on wx on Windows and Linux.[10]
VLC's Christmas Easter egg (title bar logo icon) in the Qt interface
- The Qt interface contains an easter egg which changes the VLC traffic cone logo so that it's wearing a Santa hat. The logo changes on December 18, one week before Christmas, and reverts to its normal appearance on January 1.
VLC supports highly customizable skins through the skins2 interface, also supporting Winamp 2 and XMMS skins. The customizable skins feature can malfunction depending on which version is being used.
VLC with the ncurses interface, running on
Mac OS X
For console users, VLC has a remote control interface and an ncurses interface. As VLC can act as a streaming server, rather than a media player, it can be useful to control it from a remote location and there are interfaces allowing this. The Remote Control Interface is a text-based interface for doing this.
There are also interfaces using telnet and HTTP (AJAX).
Control
In addition to these interfaces, it is possible to control VLC in different ways:
- Configurable hotkeys
- Mouse gestures
- LIRC and infrared controllers
- D-Bus
- Laptop motion
Features
VLC's right-click Menu on GNU/Linux (Kubuntu 10.04)
- VLC can play the video content of some damaged, incomplete or unfinished videos (like downloads) before the files have been fully downloaded. (For example, files still downloading via BitTorrent, eMule, or Gnutella). It also plays m2t MPEG transport streams (.TS) files while they are still being digitized from an HDV camera via a FireWire cable, making it possible to monitor the video as it is being played. This is because it is a packet-based player.
- The player also has the ability to use libcdio to access .iso files so that the user can play files on a disk image, even if the user's operating system does not have the capability of working directly with .iso images.
- VLC supports all audio and video formats and all file formats supported by libavcodec and libavformat. This means that VLC can play back H.264 or MPEG-4 video as well as support FLV or MXF file formats "out of the box" using FFmpeg's libraries. Alternatively, VLC has modules for codecs that are not based on FFmpeg's libraries. This feature is not unique to VLC, as any player using the FFmpeg libraries, including MPlayer and xine-lib-based players, should be able to play those formats without the need for external codecs.
- VLC is one of the free software and open source DVD players that ignores DVD region coding on RPC-1 firmware drives, making it a region-free player. However, it does not do the same on RPC-2 firmware drives.
- VLC media player has some filters that can distort, rotate, split, deinterlace, mirror videos, create display walls, or add a logo overlay. It can also produce video output as ASCII art.
- VLC media player can play high definition recordings of D-VHS tapes duplicated to a computer using CapDVHS.exe. This offers another way to archive all D-VHS tapes with the DRM copy freely tag.
- Using a FireWire connection from cable boxes to computers, VLC can stream live, unencrypted content to a monitor or HDTV.
- VLC media player can display the playing video as the desktop wallpaper, like Windows DreamScene, by using DirectX (only available on Windows Operating Systems).
- VLC media player can do screencasts and record the desktop.
- On Microsoft Windows, VLC also supports the Direct Media Object (DMO) framework and can therefore make use of some third-party DLLs.
- On most platforms, VLC can tune in to and view DVB-C, DVB-T and DVB-S channels. On Mac OS X the separate EyeTV plugin is required, on Windows it requires the card's BDA Drivers.
- VLC can be installed and run directly from a flash or other external drive.
- VLC can be extended through scripting. It uses the Lua scripting language.
- VLC can play videos in the AVCHD format, a highly compressed format used in recent HD camcorders.
Use of VLC with other programs
API
There are several APIs that can connect to VLC and use its functionality:
- libVLC API, which is the VLC Core, for C, C++ and C#
- VLCKit, an Objective-C framework for Mac OS X
- JavaScript API, which is the evolution of ActiveX API and Firefox integration
- D-Bus Controls
- C# interface
- Python controls[11]
- Java API[12]
- DirectShow filters[13]
Browser plugins
- On Windows, Linux, Mac, and some other UNIX-like platforms, VLC provides a NPAPI plugin,[14] which enables users to view QuickTime, Windows Media, MP3 and Ogg files embedded in websites without using additional products. It supports Firefox, Mozilla Application Suite, Safari, Opera, Chrome and other Netscape plug-in based web browsers. Before switching to Adobe Flash, this plugin was initially used by Google to build the Google Video web browser plugin.[15]
- Starting with version 0.8.2, VLC also provides an ActiveX plugin, which lets people view QuickTime (MOV), Windows Media, MP3 and Ogg files embedded in websites when using Internet Explorer.
Applications which use the VLC plugin
- VLC can handle incomplete files and can be used to preview files being downloaded. Several programs make use of this, including eMule and KCeasy.
- The free/open-source Miro also uses VLC code.
- HandBrake, an open-source video encoder, loads libdvdcss from VLC Media Player.
Format support
Readable formats
VLC can read several formats, depending on the operating system VLC is running on.[16]
- Input
- UDP/RTP unicast or multicast, HTTP, FTP, MMS, RTSP, RTMP, DVDs, VCD, SVCD, CD Audio, DVB, Video acquisition (via V4l and DirectShow), RSS/Atom Feeds, and from files stored on the user's computer.
- Container formats
- 3GP,[17] ASF, AVI, FLV, Matroska, Musical Instrument Digital Interface (.mid/.midi),[18] QuickTime, MP4, Ogg, OGM, WAV, MPEG-2 (ES, PS, TS, PVA, MP3), AIFF, Raw audio, Raw DV, MXF, VOB.
- Video formats
- Cinepak, Dirac, DV, H.263, H.264/MPEG-4 AVC, HuffYUV, Indeo 3,[19] MJPEG, MPEG-1, MPEG-2, MPEG-4 Part 2, RealVideo 3&4[20], Sorenson (thus enabling direct playback of the modified Sorenson H.263 encoded videos downloaded from YouTube), Theora, VC-1,[21] VP5,[21] VP6,[21], VP8, and some WMV.
- Subtitles
- DVD, SVCD, DVB, OGM, SubStation Alpha, SubRip, Advanced SubStation Alpha, MPEG-4 Timed Text, Text file, Vobsub, MPL2,[22] Teletext.[22]
- Audio formats
- [23] AAC, AC3, ALAC, AMR,[17] DTS, DV Audio, XM, FLAC, MACE, Mod, MP3, PLS, QDM2/QDMC, RealAudio,[24] Speex, Screamtracker 3/S3M, TTA, Vorbis, WavPack,[25] WMA (WMA 1/2, WMA 3 partially)[23].
Output formats for streaming/encoding
VLC can transcode into several formats depending on the operating system.
- Container formats
- ASF, AVI, FLV,[22] Fraps,[22] MP4, Ogg, Wav, MPEG-2 (ES, PS, TS, PVA, MP3), MPJPEG, FLAC, QuickTime, Matroska
- Video formats
- H.263, H.264/MPEG-4 AVC, MJPEG, MPEG-1, MPEG-2, MPEG-4 Part 2, VP5,[21] VP6,[21] Theora, DV
- Audio formats
- AAC, AC3, DV Audio, FLAC, MP3,[26] Speex, Vorbis
- Streaming protocols
- UDP, HTTP, RTP, RTSP, MMS, File
See also
- Comparison of video player software
- List of multimedia (audio/video) codecs
- VideoLAN Movie Creator
- Media Player Classic Home Cinema
- xine, MPlayer
- MEncoder
References
External links
Media players |
|
Windows |
Commercial
|
Connect Player · Iriver plus 3 · Media Center · PowerDVD · SonicStage · The Core Media Player · WinDVD · Windows Media Center · Windows Media Player · Yahoo! Music Jukebox · Zune
|
|
Freeware
|
Adobe Media Player · CrystalPlayer · Dell MediaDirect · foobar2000 · GOM Player · InterActual Player · jetAudio · MadCat Media Browser · Media Go · Media Player Classic · MediaMonkey · Mod4Win · Mpxplay · MusicBee · MusikCube · QuickPlayer · Adobe Shockwave · Quintessential Player · Style Jukebox · K-Multimedia Player · WinPlay3 · Winamp
|
|
|
Windows Mobile |
|
|
Mac OS X |
Commercial
|
Centerstage · Chroma · DVD Player · Front Row · Peel · Windows Media Components for QuickTime
|
|
Freeware
|
Audion · Cog · Perian · Plexapp
|
|
|
Linux |
Audacious Media Player · Baudline · Beep Media Player · cmus · Decibel Audio Player · Exaile · Gnome Music Player Client · Helix · JuK · Kaffeine · LinuxMCE · Lsongs · Miro · Mpg123 · Muine · Music Player Daemon · Music on Console · Noatun · Ogle DVD Player · Rhythmbox · Totem · Unix Amiga Delitracker Emulator · Xine · XMMS · XMMS2
|
|
Palm OS |
Pocket Tunes
|
|
Cross-platform |
|
Commercial
|
CoreAVC CorePlayer · Core Pocket Media Player
|
|
Freeware
|
|
|
|
Technologies |
|
|
Related articles |
Video player (Comparison) · Audio player (Comparison) · Portable media player (Comparison) · HD media player · Home Theater PC · Home cinema
|
|
Free and open source software |
|
General |
|
|
Operating system families |
|
|
Development |
|
|
History |
|
|
Organizations |
Apache Software Foundation · Blender Foundation · Eclipse Foundation · freedesktop.org · Free Software Foundation ( Europe · India · Latin America) · FSMI · GNOME Foundation · GNU Project · Google Code · KDE e.V. · Linux Foundation · Mozilla Foundation · Open Source Geospatial Foundation · Open Source Initiative · SourceForge · Symbian Foundation · Xiph.Org Foundation · XMPP Standards Foundation · X.Org Foundation
|
|
Licences |
|
|
License standards |
Open Source Definition · The Free Software Definition · Debian Free Software Guidelines
|
|
Challenges |
Binary blob · Digital rights management · Graphics hardware compatibility · License proliferation · Mozilla software rebranding · Proprietary software · SCO-Linux controversies · Security · Software patents · Hardware restrictions · Trusted Computing · Viral license
|
|
Other topics |
Alternative terms · Community · Linux distribution · Forking · Movement · Microsoft Open Specification Promise · Revolution OS · Comparison with closed source
|
|
Book:FOSS · Category:Free software · Portal:Free software |
|